import TEXT from '../Input/input.vue'
import CURRENCY from '../Input/input_currency.vue'
import QUANTITY from '../Input/input_quantity.vue'
import NUMBER from '../Input/input_number.vue'
import PERCENT from '../Input/input_percent.vue'

import DATETIME from '../datePicker/index.vue'
import BOOLEAN from '../radio/index.vue'

import FILE_UPLOAD from '../t-uppy-upload/index.vue'

import SELECT_ONE_FIXED from '../tlov/index.vue'
import SELECT_ONE_URL from '../tlovView/index.vue'

export function setComponents(config = {}) {
  // columnItem = 当前列
  const compenentUrl = (columnItem) => {
    if (['TEXT', 'PHONE', 'EMAIL', 'TENANT_CODE', 'TEXTAREA'].includes(columnItem.fieldTypeCode)) {
      // 文本 电话 邮箱 code码 富文本
      return TEXT
    } else if (columnItem.fieldTypeCode === 'CURRENCY') {
      // 金额
      return CURRENCY
    } else if (columnItem.fieldTypeCode === 'NUMBER') {
      // 数值（digitsFraction小数位数
      return NUMBER
    } else if (columnItem.fieldTypeCode === 'PERCENT') {
      // // 百分比
      return PERCENT
    } else if (columnItem.fieldTypeCode === 'QUANTITY') {
      // 数量
      return QUANTITY
    } else if (['DATE_RANGE', 'DATA_PICKER', 'DATE'].includes(columnItem.fieldTypeCode)) {
      // 时间
      return DATETIME
    } else if (columnItem.fieldTypeCode == 'BOOLEAN') {
      // radio
      // return BOOLEAN
    } else if (['FILE', 'FILE_UPLOAD'].includes(columnItem.fieldTypeCode)) {
      // 上传
      return FILE_UPLOAD
    } else if (columnItem.fieldTypeCode === 'SELECT_ONE' && columnItem.lovTypeCode == 'FIXED') {
      // 静态值集 单选
      return SELECT_ONE_FIXED
    } else if (columnItem.fieldTypeCode === 'SELECT_MULTIPLE' && columnItem.lovTypeCode == 'FIXED') {
      // 静态值集  多选
      return SELECT_ONE_FIXED
    } else if (columnItem.fieldTypeCode == 'SELECT_ONE' && columnItem.lovTypeCode == 'URL') {
      // 动态值集 单选 （值集视图）
      return SELECT_ONE_URL
    } else if (columnItem.fieldTypeCode == 'SELECT_MULTIPLE' && columnItem.lovTypeCode == 'URL') {
      // 动态值集 多选（值集视图）
      return SELECT_ONE_URL
    }
  }
  return {
    compenentUrl
  }
}
